The present invention relates to a supervisor program. In particular, the present invention relates to a supervisor program for use with a self-service terminal (SST), such as a kiosk or an automated teller machine (ATM), and to an SST incorporating such a supervisor program.
Self-service terminals are generally public-access devices that are designed to allow a user to conduct a transaction or to access information in an unassisted manner and/or in an unattended environment. SSTs typically include some form of tamper resistance (in both hardware and software) so that they are inherently resilient to faults and unauthorized access. SSTs include: (i) ATMs; (ii) non-cash kiosks that allow users to access information (for example, to view reward points on a reward card the user has inserted into the SST), print documents (for example, aircraft boarding cards), and such like; and (iii) kiosks that accept payment for services (for example, Web surfing kiosks, photo printing kiosks, kiosks that allow users to buy goods, kiosks that dispense medication, and such like). The term SST has a relatively broad meaning and may include vending machines and photocopiers.
An ATM is one type of SST, and typically includes a cash dispenser for dispensing currency to a user subsequent to identifying the user and validating that the user has sufficient funds to cover the amount of currency to be dispensed.
An ATM operates under software control. Typical ATM software includes operating system software, a run-time platform, and a control application (CA); although these have been listed as three separate items, the run-time platform and the control application may be combined into a single terminal application suite.
The operating system is typically a conventional personal computer operating system, such as a Microsoft Windows NT (trade mark) operating system. As is well known in the art, the operating system is responsible for memory, process, task, and disk management and sends high level commands to device drivers that control devices in the ATM. The operating system may be integrated into the run-time platform.
The run-time platform is used for (i) interfacing with the operating system, (ii) providing device drivers for non-standard computing devices (for example, cash dispenser devices), and (iii) providing industry-standard interfaces (application programming interfaces (APIs)) to the control application and any other applications executing on the ATM. These industry-standard interfaces enable the control application to make use of self-service devices (PIN pads, cash dispensers, and such like), and to obtain device status and fault management information.
Typical industry-standard interfaces include a CEN XFS (extensions for Financial Services) interface (published by the European Committee for Standardization), an Active XFS interface, a device status management (DSM) interface, and such like. The CEN XFS interface enables ATM peripherals, such as cash dispensers, card readers, encrypting PIN pads, and printers, to interface with Windows-based applications. The Active XFS interface “sits on top of” (that is, it provides an interface to) the CEN XFS interface and provides a simpler mechanism for accessing the CEN XFS interface.
The control application (CA) includes a transaction processing component (TPC) and a management component (MC).
The TPC offers a user a suite of transactions and services by providing the processing logic and presentation functionality through which a cardholder can perform transactions. The TPC executes XFS-compliant commands, which are implemented by the run-time platform.
The management component (MC) records status, fault, and other information about the ATM, and captures and handles errors to ensure that the ATM does not unexpectedly go out of service. Furthermore, the MC provides supervisory functions to monitor the operation of the ATM, and includes an industry-standard communication facility to report status information and errors to a remote management station.
The MC includes a system application that allows a service engineer to access the status and fault information stored within the ATM. By accessing the status and fault information, the engineer can more easily diagnose problems and determine if any action needs to be taken (for example, replenishment operations or maintenance tasks).
It is common for the major ATM vendors and independent ATM software providers to sell a terminal application suite that integrates the run-time platform and the control application (CA), so that all of the functions are provided by a large monolithic application.
Providing a single software suite that does all these functions has the disadvantage that it is unlikely that any one suite has the “best-in-class” implementation of each function to be performed by that suite.
Another disadvantage is that the software transmits all status and fault information to a single communication facility, which then forwards the status and fault information as appropriate.